home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d15 / mewin.arc / README < prev    next >
Text File  |  1991-03-12  |  18KB  |  485 lines

  1.     MicroEMACS 3.10 Release Notes        March 19, 1989
  2.  
  3.     (C)opyright 1988, 1989 by Daniel M. Lawrence
  4.     MicroEMACS 3.10 can be copied and distributed freely for any
  5.     non-commercial purposes. MicroEMACS 3.10 can only be incorporated
  6.     into commercial software with the permission of the current author.
  7.  
  8. **********************************************************************
  9.  
  10.     MicroEMACS 3.10 is available in a couple of different ways. 
  11. First, it is available via my bulletin board system..... 
  12.  
  13.     The Programmer's Room
  14.     FIDO 201/10
  15.     (317) 742-5533
  16.     24 hours  300/1200/2400 baud
  17.  
  18.     There it is arranged as five MSDOS .ARC (SEA format) files,
  19. UE310DOC.ARC which contains the documentation files, UE310C.ARC which
  20. contains the C sources, UE310H.ARC which contains the header files and
  21. assembly sources, UE310MAK.ARC which contains various files to help
  22. make EMACS, and UE310CMD.ARC which contains startup and command files. 
  23. All the various executables are available individually.
  24.  
  25. UE310DOC.ARC includes the files:
  26.  
  27.     README        This file
  28.     EMACS.HLP    Online help file
  29.     EMACS.MSS    MicroSCRIBE format of EMACS.TXT
  30.     EMACS.TXT       EMACS BEGINNER'S/REFERENCE MANUAL
  31.     EMACS.TUT    old tutorial for learning MicroEMACS
  32.     MOUSE.DOC    very PRELIMINARY documents on mouse usage
  33.  
  34. UE310MAK.ARC includes the files:
  35.  
  36.     CMDFIX.LNK    MSDOS link file for CMDFIX
  37.     DESCRIP.MMS    VMS description file
  38.     EMACS.AML    Link file for the AMIGA
  39.     EMACS.LNK    Microsoft link file for MSDOS
  40.     EMACS.OPT    VMS options file
  41.     MAKEFILE.AMI    makefile for the AMIGA
  42.     MAKEFILE.DTL    makefile for Data Light C
  43.     MAKEFILE.MPC    makefile for Mark Williams C on the IBM-PC
  44.     MAKEFILE.MSC    makefile for Microsoft C 5.1 on the IBM-PC
  45.     MAKEFILE.MWC    makefile for Mark Williams C on the 1040ST
  46.     MAKEFILE.TUR    makefile for Turbo C 2.0 on the IBM-PC
  47.     MAKEFILE.UNX    makefile for unix
  48.     MESHAR.OPT    option file for VMS
  49.     SMG.MAR        another VMS option file
  50.     EMACS.LNK    Turbo C/Microsoft link command file
  51.  
  52. UE310CMD.ARC includes the files:
  53.  
  54.     AZBMAP.CMD    Translate Large model AZTEC.SYM file to .map
  55.     AZMAP.CMD    Translate AZTEC.SYM files to .MAP
  56.     BPAGE.CMD    Block and box manipulation page
  57.     BUFDEL.CMD    Select and delete multiple buffers
  58.     CPAGE.CMD    A not yet complete C language page
  59.     EMACS.RC    Standard startup file
  60.     ENCODE.CMD    Demonstration of the &xlate function
  61.     EPAGE.CMD    Emacs macro debugging page
  62.     EPSON.CMD    How to use macroes to insert printer controls
  63.     ERROR.CMD    Mark Williams C error parsing file
  64.     FINDCOM.CMD    Find mismatched C comments
  65.     FORTRAN.RC    Fortran editing startup file
  66.     FUNC.CMD    Allow function keys on systems with none (like UNIX)
  67.     IWRAP.CMD    Allows wrapping of indented text
  68.     MENU.CMD    Sample Menu system
  69.     MENU1           datafile for menu system
  70.     NEWPAGE.CMD    Shifted Function key Pager
  71.     OPAGE.CMD    Cobol Language page (not finished)
  72.     POS.CMD        Display current line and column constantly
  73.     PPAGE.CMD    Pascal language page
  74.     SENTENCE.CMD    Sentence operations
  75.     SHELL.CMD    Sample interactive MSDOS shell
  76.     SMOOTH.CMD    smooth scrolling control macro
  77.     TABLE.CMD    Creates a table of bound function keys
  78.     WPAGE.CMD    Word processing page
  79.  
  80. UE310H.ARC includes the files:
  81.  
  82.     DUTCH.H        DUTCH text header file
  83.     EBIND.H        binding list
  84.     EDEF.H        global variable declarations
  85.     EFUNC.H        function name list
  86.     ELANG.H        Text header control file
  87.     ENGLISH.H    ENGLISH text header file
  88.     EPATH.H        default path settings
  89.     ESTRUCT.H    configuration and structure definitions
  90.     ETYPE.H        function prototype header file
  91.     EVAR.H        EMACS macro variable declarations
  92.     EXECPR.ASM    MSDOS 4Bh interupt driver
  93.     FRENCH.H    FRENCH text header file
  94.     GERMAN.H    GERMAN text header file
  95.     PLATIN.H    PIG LATIN text header file
  96.     SPANISH.H    SPANISH text header file
  97.     STMOUSE.S    Some Atari 1040ST mouse assembly code
  98.  
  99.  
  100. UE310C.ARC includes the files:
  101.  
  102.     AMIGADOS.C    Amiga system I/O functions
  103.     ANSI.C        ANSI screen driver
  104.     AOSVS.C        Data General Mainframe driver
  105.     ATARI.C        Atari 520/1040ST I/O functions
  106.     BASIC.C        basic cursor movement
  107.     BIND.C        key binding commands
  108.     BUFFER.C    buffer manipulation commands
  109.     CHAR.C        character set mapping and manipulation functions
  110.     CMDFIX.C    old to new .CMD file translation program
  111.     CRYPT.C        encryption functions
  112.     DG10.C        Data General 10 screen driver
  113.     DISPLAY.C    main display driver
  114.     DOLOCK.C    file locking stub routines
  115.     EVAL.C        expression evaluator
  116.     EXEC.C        macro execution functions
  117.     FILE.C        user file functions
  118.     FILEIO.C    low level file I/O driver
  119.     HISTORY.C    MicroEMACS edit history
  120.     HP110.C        HP110 screen driver
  121.     HP150.C        HP150(A or C) screen driver
  122.     IBMPC.C        IBM-PC CGA and MONOCHROME driver
  123.     INPUT.C        low level user input driver
  124.     ISEARCH.C    incremental search functions
  125.     LINE.C        text line manipulation functions
  126.     LOCK.C        file locking functions
  127.     MAIN.C        argument parsing and command loop
  128.     MOUSE.C        mouse handling user level functions
  129.     MSDOS.C        MS/PCDOS I/O functions
  130.     RANDOM.C    other random user functions
  131.     REGION.C    region cut & paste functions
  132.     SEARCH.C    search and replace functions
  133.     ST520.C        ATARI ST1040 screen driver
  134.     TCAP.C        Termcap screen driver
  135.     TIPC.C        TI-PC screen driver
  136.     UNIX.C        UNIX I/O functions
  137.     VMS.C        VMS functions I/O driver
  138.     VMSVT.C        VMS screen driver
  139.     VT52.C        VT52 screen driver
  140.     WINDOW.C    window manipulation functions
  141.     WMCS.C        WICAT system I/O functions
  142.     WORD.C        word manipulation functions
  143.     Z309.C        Zenith 100 PC series terminal driver
  144.  
  145. Various Executables available include:
  146.  
  147.     CMDFIX.EXE    Fixes old command files (MSDOS)
  148.     ME110.EXE    HP110 portable version
  149.     ME150.EXE    HP150 version
  150.     ME520.PRG    Atari 520/1040ST version
  151.     MEAMIGA.    Amiga 500/1000/2000 version
  152.     MEANSI.EXE    MSDOS ANSI graphics version
  153.     MEDG10.EXE    Data General 10 PC version
  154.     MEIBM.EXE    IBM-PC CGA/MONO/EGA version
  155.     METIPC.EXE    TI Professional version
  156.     MEZ309.EXE    Zenith 100 PC series version
  157.  
  158.     MicroSPELL 1.0 is also available.  This program allows you to
  159. spell check text files and uses MicroEMACS to scan the file, doing
  160. various corrections. 
  161.  
  162.     MicroSCRIBE, a fairly SCRIBE compatible text formatter to go
  163. along with these programs will probably be available for BETA testing
  164. sometime in 1989.  This program is turning out to be a lot more complex
  165. than I thought it would be, and is taking more time to get out.
  166.  
  167.     As before, I will continue to support these programs, and
  168. encourage everyone to spread them around as much as they can.  If you
  169. make what you think are changes that are useful to many, send me the
  170. updates, and as time permits, I will incorporate the ones I understand,
  171. and agree with into the master sources.
  172.  
  173.     MicroEMACS is available on disk directly from my by sending me
  174. $25 per order and a note specifying the disk format and the product
  175. that you need.  I can fill orders for IBM-PC high/low density 5 1/4 and
  176. 3 1/5, ATARI ST single and double density, and AMIGA disks. (You do not
  177. need to send disks or mailers, I will provide these.)  The distribution
  178. set includes on disk all docs, executables and sources.  Also I will
  179. register you and you will receive automatic notices of new versions of
  180. all the programs I am releasing.
  181.  
  182.     Commercial licences to allow MicroEMACS to be incorporated into
  183. other software packages are also available at a reasonable per package
  184. price. Also I am available to do customization of MicroEMACS at an
  185. hourly rate. Send all requests to the address below:
  186.  
  187.     USmail:    Daniel Lawrence
  188.         617 New York St
  189.         Lafayette, IN 47901
  190.  
  191.     ARPA:    nwd@j.cc.purdue.edu
  192.     FIDO:    The Programmer's Room 201/10
  193.         (317) 742-5533
  194.     Voice:    (317) 742-5153 evenings and weekends
  195.  
  196.         IMPORTANT NOTE
  197.         ==============
  198.  
  199.     On the Atari ST, be sure that MicroEMACS is installed as a GEM
  200. application from the GEM desktop.  If this is not done, MicroEMACS will
  201. grow confused about the state of the mouse, and ring the bell alot to
  202. alert the user to the problem.  (Mouse handling on the Atari is both
  203. complex and tripled layered....).
  204.  
  205.         New Features since version 3.9
  206.         ==============================
  207.  
  208. ***    Multiple Marks now supported
  209.  
  210.     The commands set-mark (M-<space>) and exchange-point-and-mark 
  211. (^X^X) both now accept a numeric argument from 0 to 9 allowing up to 10
  212. marks to be set in a buffer.  All region commands still work with mark 0
  213. but the other marks can be used to make navigating around a complex
  214. buffer simpler.  Also the goto-mark (M-^G) command allows you to go
  215. to one of these marks.
  216.  
  217. ***    More function key support
  218.  
  219.     Under UNIX BSD4.3, V7 SUN, XENIX and some other V5 systems
  220. MicroEMACS can now use the TERMCAP entry of the current terminal and
  221. decode it's function keys.  Also all function key bindings have been
  222. renamed to make them machine independant.  The CMDFIX program/source
  223. distributed along with MicroEMACS will allow you to automaticaly
  224. translate old command files to the new bindings.
  225.  
  226. ***    Crypt algorithm much better
  227.  
  228.     Yes, we found a really bad problem in the security of the
  229. encryption algorithm.  This has been fixed.  Set the environment variable
  230. $oldcrypt to TRUE to read in your old encrypted file, and set it to
  231. FALSE to write it out again with the new algorithm.
  232.  
  233. ***    End-of-word
  234.  
  235.     Bending to popular demand, I added an end-of-word command which
  236. advances to the end of the current word rather than the beginning of the
  237. next word (as with next-word).
  238.  
  239. ***    Command line switch to initialize variables
  240.  
  241.     The -i switch on the command line allows you to give environment
  242. variables a value on the way into EMACS. For example:
  243.  
  244.     emacs -i$sres VGA <file>
  245.  
  246.     edits <file> in VGA mode on a properly equipped IBM-PC.
  247.  
  248. ***    New Hooks
  249.  
  250.     added $writehook to execute macroes when writing files.
  251.     added $exbhook to execute macro when exiting an old buffer.
  252.     added $bufhook to execute macro when entering a new buffer.
  253.  
  254. ***    Trim whitespace function
  255.  
  256.     The &trim function strips the trailing whitespace off of a user
  257. expression.
  258.  
  259. ***    Changed trim/entab/detab commands
  260.  
  261.     Now trim-line(^X^T), entab-line(^X^E), and detab-line(^X^D)
  262. work on the current region if they have no arguments.  These commands
  263. are now also called trim-region, entab-region and detab-region.  The
  264. old names will hang about for a version, then disappear.
  265.  
  266. ***    Foreign language text constants
  267.  
  268.     MicroEMACS may now be compiled with its internal messages in
  269. ENGLISH, GERMAN, DUTCH, PIGLATIN, SPANISH, and FRENCH.  The $language
  270. variable contains the name of the language of the current version.  All
  271. command names are still in english to allow macros to be used between
  272. versions.  Notice that the standard startup files and command files have
  273. not been translated, thus the function key window is in english.  Only
  274. the text messages generated by EMACS itself are translated.
  275.  
  276. ***    Upper/Lower case mapping
  277.  
  278.     Users can now arbitrarily reset the upper/lower case mapping
  279. tables using the &slow and &supper functions.  For example:
  280.  
  281.     &slow "e" "E"
  282.  
  283.     causes a lower case "e" to translate to an "E" when upper
  284. cased.  This is fairly useful in various foreign languages with
  285. unusual and magical casing rules.
  286.  
  287. ***    MicroSoft mouse support
  288.  
  289.     The MicroSOFT and compatible mice are now supported on the
  290. IBM-PC.  Mousing commands have changed considerably and are consistent
  291. across all supported environments.  See the reference manual's new
  292. chapter on mousing.
  293.  
  294. ***    New user input function
  295.  
  296.     >c allows a macro to get an EMACS command key sequence from
  297. the user.  the resulting string is suitable for binding commands.
  298.  
  299. ***    Tab variables
  300.  
  301.     $softtab can be used to cause EMACS to use spaces to tab to
  302. multiples of $softtab using spaces.  If this is zero, EMACS will use
  303. hard tabs.  $hardtab specifies how many columns between hard tabs.  The
  304. default value is 8, but may be changed by the user.
  305.  
  306. ***    New "safe" file saving
  307.  
  308.     Now MicroEMACS write all its output files to a temporary file,
  309. then deletes the original, then renames the temp file as the original. 
  310. This makes system crashes a lot easier to live with. (This behavior can
  311. be toggles with the $ssave variable).  Notice that $ssave turned on
  312. under UNIX will cause your file privledges to be reset to your current
  313. umask.
  314.  
  315. ***    Horizontal window scrolling
  316.  
  317.     Now, by default, when you go beyond the 80th column of the
  318. screen, the entire current window scrolls to the left.  This makes
  319. editing wide tables much more pleasant.  $hscroll toggles between this
  320. and the old (single line scroll) behavior.  $fcol sets what text column
  321. is in the first column of the screen. $hjump determines how many
  322. characters the screen scrolls right or left.
  323.  
  324. ***    More Debugging features
  325.  
  326.     The ^XG (display) command prompts the user for a variable name
  327. and displays its value (as opposed to execute-command write-message
  328. $var). The describe-variables command lists all the current environmental
  329. and user variables and their contents in a buffer.
  330.  
  331. ***    Named macroes are now bindable
  332.  
  333.     The macro-to-key (^X^K) command allows you to bind a keystroke
  334. to a named function.  Very usefull, this lifts the limit of 40 macroes
  335. tied to keys.  The older "execute-macro-n" functions will dissapear some
  336. day, so please move to this!  The describe-bindings function now will
  337. list the defined macroes after the built-in functions along with their
  338. bindings.
  339.  
  340. ***    Hidden modelines???
  341.  
  342.     If you are writing an emacs macro you can hide the emacs
  343. modelines by setting $modeflag to FALSE.
  344.  
  345. ***    Smooth scrolling
  346.  
  347.     If you are of the school that prefers the screen to ride up a
  348. line at a time instead of by half windows (I am not BTW), set $sscroll
  349. to TRUE.
  350.  
  351. ***    Recall last printed statement
  352.  
  353.     The last text printed by emacs on the command line can be
  354. recalled by querying $lastmesg.  Look near the end of the new emacs.rc
  355. file to see how this works.
  356.  
  357. ***    VGA support
  358.  
  359.     IBM's VGA display adapter in 50 line mode is now supported.
  360.  
  361. ***    Optimizations!
  362.  
  363.     Some internal optimizations have cause a speed increase of apx
  364. 30% to the speed of macro execution under all environments.
  365.  
  366.     Calling a different level of I/O functions has speed up disk I/O
  367. by apx 30% on the IBM-PC and under UNIX.
  368.  
  369. ***    CMODE improved
  370.  
  371.     CMODE now trims trailing whitespace when the enter key is used,
  372. and copies its indentation from the last non-blank line.  Blank lines in
  373. the middle of a function will no longer cause emacs to forget its
  374. indentation level.
  375.  
  376. ***    Query-replace bug fixed
  377.  
  378.     A rather long standing bug which caused emacs to lock up when
  379. aborting a query-replace with the '.' character has been eliminated.
  380.  
  381. ***    New Search Algorithm
  382.  
  383.     A new search algorithm, written by Geoff Gibbs, implementing
  384. the Boyer/Moore search algorithm has speed up all non-MAGIC searches by
  385. over 30 TIMES! 
  386.  
  387. ***    Partial Mouse support added
  388.  
  389.     The Atari 512/1040ST, the DEC VAX system under VMS, the
  390. IBM-PC with a Microsoft compatible mouse, and the Commodore AMIGA now
  391. support mouse usage. Text can be cut and pasted from one buffer to
  392. another.  Window sizes can be adjusted easily.  Mouse support for other
  393. operating systems will be forthcoming. New environment variables added
  394. for mice include:
  395.  
  396.     $xpos    Cursor column of last mouse button click
  397.     $ypos    Cursor row of last mouse button click
  398.  
  399. ***    Microsoft C Fixes
  400.  
  401.     Various fixes have made MicroEMACS compile well under Microsoft C
  402.     version 5.0
  403.  
  404. ***    New computers supported
  405.  
  406.     The WICAT computer is now supported under the MSC operating
  407. system.  Also the Data General mainframe computers are supported.
  408.  
  409. ***    New Compilers supported
  410.  
  411.     Mark Williams C on MSDOS is supported. Datalight C under MSDOS
  412. is now fully supported as well.
  413.  
  414. ***    Rewritten fill-paragraph
  415.  
  416.     Fill-paragraph has been rewritten. It is now generally four
  417. times faster, and its speed is now related to the size of the
  418. paragraph, rather then the square of the size of the largest line, as
  419. previously.
  420.  
  421. ***    -e switch changed
  422.  
  423.     The -e "EDIT" command line switch has been changed to -c
  424. "changeable" to allow the -e to be used to automatically execute
  425. error.cmd from the command line.  This is very useful from Mark
  426. Williams C for error parsing.
  427.  
  428. ***    New mechanism for hooks
  429.  
  430.     Hooks are ways of attaching macroes to MicroEMACS as it is doing
  431. specific actions. In the past these were bound to illegal keystrokes.
  432. This mechanism is now that there is an environment variable for each of
  433. these "hooks" that contains the name of a macro to execute at hook time.
  434. These must be one of the built in functions (including execute-macro-<n>)
  435. for now. Hooks include:
  436.  
  437.     $readhook    executes immediately before reading a file,
  438.             after it's buffer has been created.
  439.  
  440.     $wraphook    executes when it is time to do a word wrap. This
  441.             is set to wrap-word by default.
  442.  
  443.     $cmdhook    executed immediately before MicroEMACS waits for a
  444.             command from the user.
  445.  
  446. ***    select-buffer upgraded
  447.  
  448.     A numeric argument to select-buffer causes the target buffer to
  449. become "invisible"... ie not listed in the buffer list. Also, when
  450. typing in a buffer name interactivly, the space bar will attempt to
  451. complete the name from the available buffer list.
  452.  
  453. ***    Prefix keys upgraded.
  454.  
  455.     More than one key can now be bound to meta-prefix and
  456. ctrlx-prefix.  Also the terminating character for search and replace
  457. strings defaults to the last thing bound to the meta-prefix, and can be
  458. reset by setting the $sterm variable.
  459.  
  460. ***    Completion routines rewritten
  461.  
  462.     Command names, buffer names and file names under some operating
  463. systems now share a common completion routines.  Typing in a portion of
  464. a name and hitting the space bar, meta key or tab key will cause
  465. MicroEMACS to attempt to complete the name for you.
  466.  
  467. ***    AMIGA INTUITION support
  468.  
  469.     The mouse, window resizing and close gadgets are no properly
  470. supported on the Commodore Amiga.
  471.  
  472.  
  473. THINGS TO COME:
  474. ===============
  475.  
  476.     For the next version, I will be concentrating on: (No promises
  477. on the time, I will be concentrating on some other programs for a while)
  478.  
  479. 1)    Macintosh support
  480.  
  481. 2)    Adding a compiler to the execution language
  482.  
  483. 3)    Support for a speaking EMACS to allow sightless people to
  484.     edit text (AMIGA first)
  485.